/*
	Gestisce l'input da tastiera.
*/

#include<stdio.h>
#include<driver.h>
#include<interrupt.h>
#include<string.h>

// NOTA 2007: Rivedere la funzione !!! PICCOLA BUG NELLA TASTIERA !!!
void scank(char *buffer) {
	strclean(buffer);
	abilita_irq(1,0x21);
	tasto_premuto=0; invio_premuto=0;
	int i=0;
	while(1) { 
		if(tasto_premuto==1) {
			if(back_premuto==1) {
				back_premuto=0;	tasto_premuto=0;i--;
				buffer[i]=' ';
				if(colonna!=0) colonna--;
				putk(' ',0x7); colonna--;
			} else {
				tasto_premuto=0;
				buffer[i]=lettera;
				putk(lettera,0x7); i++;
				if(i==strlen(buffer)) { printn(strlen(buffer)); break; }
			}
		} else if(invio_premuto==1) { buffer[i]='\0'; break; }
	}
	disabilita_irq(1,0x21);
}
